package com.ophiux.product.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@ApiModel("商品表  --  返回实体")
public class ProductDTO {

	@ApiModelProperty("商品id")
	private Integer id;

	@ApiModelProperty("商品类型  1时间商品、2样式商品、3实体商品")
	private Integer productType;

	@ApiModelProperty("商品名称 ")
	private String productName;

	@ApiModelProperty("商品版本号")
	private Integer productVersion;

	@ApiModelProperty("商品发布时间")
	private LocalDateTime productIssueTime;

	@ApiModelProperty("单品单价(元）")
	private BigDecimal price;

	@ApiModelProperty("单品价格单位  元")
	private String priceUnit;

	@ApiModelProperty("单品数量   单品即某个产品的最小SKU，一件商品由N个商品构成")
	private String itemCount;

	@ApiModelProperty("单品数量单位   1.时间商品：月、周、年   2.样式商品：个   3.实体商品：帐")
	private String itemUnit;

	@ApiModelProperty("本商品含单品总数")
	private Integer count;

	@ApiModelProperty("单品（商品）有效时间单元值")
	private String expireTimeValue;

	@ApiModelProperty("单品（商品）有效时间单元单位    1-周 ,2-月,3-年")
	private String expireTimeUnit;

	@ApiModelProperty("本商品含的时间单元总数")
	private String expireTimeCount;

	@ApiModelProperty("商品库存")
	private Integer stockCount;

	@ApiModelProperty("折扣值  8-指打八折")
	private Integer discount;

	@ApiModelProperty("是否启用折扣  1启用  0禁用")
	private Integer discountStatus;

	@ApiModelProperty("是否启用该商品  0禁用  1启用")
	private Integer status;

	@ApiModelProperty("前端排序号  ")
	private Integer sort;

	@ApiModelProperty("是否置顶  0不置顶  1置顶")
	private Integer sticky;
	
	@ApiModelProperty("适用人群")
	private String suitPeople;
	
	@ApiModelProperty("商品描述")
	private String describe;

	@ApiModelProperty("创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime createdAt;

	@ApiModelProperty("更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime updatedAt;

}
